home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / pd / mui / mirrormanager / install-mirrormanager < prev    next >
Text File  |  1995-04-11  |  21KB  |  829 lines

  1. ;;                                                               -*- Lisp -*-
  2. ;; $VER: $Id: Install-MirrorManager,v 1.4 1994/06/24 16:46:02 tf Exp $
  3. ;;
  4. ;; MirrorManager Installation script
  5. ;; Initial revision by Tobias Ferber
  6. ;;
  7.  
  8. (set VersionNumber    "1.10R")
  9. (set Registered        (= (substr VersionNumber (- (strlen VersionNumber) 1) ) 'R'))
  10. (set InitialInstallment    1)
  11.  
  12. ;shitty default destination?
  13. (if (exists (tackon @default-dest "MirrorManager/MakeDist")) (set @default-dest "RAM:"))
  14.  
  15. (set ApplicationPath    "MirrorManager")
  16. (set HelpPath        "docs")
  17. (set CatalogsPath    "catalogs")
  18. (set SourcesPath    "source")
  19. (set IconPath        "icons")
  20. (set ExtrasPath        "xtras")
  21.  
  22. (set ARexxScriptsPath    "rexx")
  23. (set ARexxShellPath    "rexx/rexx")
  24. (set ARexxTermPath    "rexx/term")
  25. (set ARexxFastCallPath    "rexx/fastcall")
  26.  
  27. (set RegisterForm       "RAM:OrderForm")
  28.  
  29. (set RegisterName    "")
  30. (set RegisterAddress1    "")
  31. (set RegisterAddress2    "")
  32. (set RegisterAddress3    "")
  33. (set RegisterCountry    "")
  34. (set RegisterPhone    "")
  35. (set RegisterEMail    "")
  36.  
  37.  
  38. (if (exists "MakeDist")
  39.     (abort
  40.         "This Installer script will only work properly when executed from within a distribution directory!"
  41.         "\n\n"
  42.         "It will not work from within the author's installation.  "
  43.         "Use MakeDist in order to prepare a proper distribution.  "
  44.     )
  45. ;else
  46.     (message
  47.         "\n\nMirrorManager installation script.\n"
  48.         "This script installs MirrorManager on your Amiga.\n\n"
  49.         "MirrorManager is Copyright ©1994 by\n"
  50.         "Tobias Ferber and Harald Kunze\n"
  51.         "All Rights Reserved."
  52.     )
  53. )
  54.  
  55.  
  56. (welcome "Welcome to the MirrorManager installation!")
  57.  
  58.  
  59. ;; Make sure that we are running under 2.04 or better
  60.  
  61. (if (< (/ (getversion) 65536) 37)
  62.         (abort "You must be using Kickstart 2.04 or higher to install and use MirrorManager.")
  63. )
  64.  
  65. (transcript ("Installing MirrorManager v%s for AmigaDOS..." VersionNumber))
  66.  
  67. (complete 0)
  68.  
  69. ;***
  70. (procedure copyIcons
  71. ; copyIconsFrom
  72.  
  73.     (working ("Installing icons from %s..." copyIconsFrom))
  74.  
  75.     (foreach copyIconsFrom "#?"
  76.         (if (> @each-type 0) ;-> a directory
  77.             (
  78.                 (set copyIconsFrom (tackon copyIconsFrom @each-name))
  79.                 (copyIcons)
  80.                 (set copyIconsFrom (pathonly copyIconsFrom))
  81.             )
  82.         ;else
  83.             (
  84.                 (set fname (tackon @default-dest (substr (tackon copyIconsFrom @each-name) (strlen "icons/x/"))))
  85.  
  86.                 (if (if (AND (exists fname) (> @user-level 1))
  87.                     (askbool
  88.                         (prompt
  89.                             ("%s already exists.\n" fname)
  90.                             "Would you like me to replace it?"
  91.                         )
  92.                         (help @askbool-help)
  93.                     ) 1 )
  94.                 (
  95.                     (set fname (substr fname 0 (- (strlen fname) (strlen ".info"))))
  96.  
  97.                     (if (exists fname)
  98.                         (copyfiles
  99.                             (source   (tackon copyIconsFrom @each-name))
  100.                             (dest     (pathonly fname))
  101.                             (prompt   ("Copying icon image for %s..." fname))
  102.                             (help     @copyfiles-help)
  103.                             ;(confirm)
  104.                         )
  105.                     ;else
  106.                         ;(message ("%s does not exist" fname))
  107.                     )
  108.                 )
  109.                 )
  110.             )
  111.         )
  112.     )
  113. )
  114.  
  115.  
  116. ;***
  117. (procedure registerNow
  118.  
  119.     (set RegisterName (askstring
  120.         (prompt    (cat "Please enter your full name\n\n"
  121.             ("%s\n" RegisterName)
  122.             ("%s\n" RegisterAddress1)
  123.             ("%s\n" RegisterAddress2)
  124.             ("%s\n" RegisterAddress3)
  125.             ("%s\n" RegisterCountry)
  126.             "\n"
  127.             ("%s\n" RegisterPhone)
  128.             ("%s\n" RegisterEMail)
  129.         ))
  130.         (default RegisterName)
  131.         (help @askstring-help)
  132.     ))
  133.     (set RegisterAddress1 (askstring
  134.         (prompt    (cat "Please enter the first line of your address\n\n"
  135.             ("%s\n" RegisterName)
  136.             ("%s\n" RegisterAddress1)
  137.             ("%s\n" RegisterAddress2)
  138.             ("%s\n" RegisterAddress3)
  139.             ("%s\n" RegisterCountry)
  140.             "\n"
  141.             ("%s\n" RegisterPhone)
  142.             ("%s\n" RegisterEMail)
  143.         ))
  144.         (default RegisterAddress1)
  145.         (help @askstring-help)
  146.     ))
  147.     (set RegisterAddress2 (askstring
  148.         (prompt    (cat "Please enter the second line of your address\n\n"
  149.             ("%s\n" RegisterName)
  150.             ("%s\n" RegisterAddress1)
  151.             ("%s\n" RegisterAddress2)
  152.             ("%s\n" RegisterAddress3)
  153.             ("%s\n" RegisterCountry)
  154.             "\n"
  155.             ("%s\n" RegisterPhone)
  156.             ("%s\n" RegisterEMail)
  157.         ))
  158.         (default RegisterAddress2)
  159.         (help @askstring-help)
  160.     ))
  161.     (set RegisterAddress3 (askstring
  162.         (prompt    (cat "Please enter the third line of your address\n\n"
  163.             ("%s\n" RegisterName)
  164.             ("%s\n" RegisterAddress1)
  165.             ("%s\n" RegisterAddress2)
  166.             ("%s\n" RegisterAddress3)
  167.             ("%s\n" RegisterCountry)
  168.             "\n"
  169.             ("%s\n" RegisterPhone)
  170.             ("%s\n" RegisterEMail)
  171.         ))
  172.         (default RegisterAddress3)
  173.         (help @askstring-help)
  174.     ))
  175.     (set RegisterCountry (askstring
  176.         (prompt    (cat "Please enter your country\n\n"
  177.             ("%s\n" RegisterName)
  178.             ("%s\n" RegisterAddress1)
  179.             ("%s\n" RegisterAddress2)
  180.             ("%s\n" RegisterAddress3)
  181.             ("%s\n" RegisterCountry)
  182.             "\n"
  183.             ("%s\n" RegisterPhone)
  184.             ("%s\n" RegisterEMail)
  185.         ))
  186.         (default RegisterCountry)
  187.         (help @askstring-help)
  188.     ))
  189.     (set RegisterPhone (askstring
  190.         (prompt    (cat "Please enter your phone number\n\n"
  191.             ("%s\n" RegisterName)
  192.             ("%s\n" RegisterAddress1)
  193.             ("%s\n" RegisterAddress2)
  194.             ("%s\n" RegisterAddress3)
  195.             ("%s\n" RegisterCountry)
  196.             "\n"
  197.             ("%s\n" RegisterPhone)
  198.             ("%s\n" RegisterEMail)
  199.         ))
  200.         (default RegisterPhone)
  201.         (help @askstring-help)
  202.     ))
  203.     (set RegisterEMail (askstring
  204.         (prompt    (cat "Please enter your E-Mail address\n\n"
  205.             ("%s\n" RegisterName)
  206.             ("%s\n" RegisterAddress1)
  207.             ("%s\n" RegisterAddress2)
  208.             ("%s\n" RegisterAddress3)
  209.             ("%s\n" RegisterCountry)
  210.             "\n"
  211.             ("%s\n" RegisterPhone)
  212.             ("%s\n" RegisterEMail)
  213.             ))
  214.         (default RegisterEMail)
  215.         (help @askstring-help)
  216.     ))
  217.  
  218.     (if (askbool
  219.         (prompt (cat
  220.             ("%s\n" RegisterName)
  221.             ("%s\n" RegisterAddress1)
  222.             ("%s\n" RegisterAddress2)
  223.             ("%s\n" RegisterAddress3)
  224.             ("%s\n" RegisterCountry)
  225.             "\n"
  226.             ("%s\n" RegisterPhone)
  227.             ("%s\n" RegisterEMail)
  228.             ("\nIs that correct ?")
  229.         ))
  230.         (choices "Yes" "No")
  231.         (help @askbool-help)
  232.     )
  233.     (
  234.         (set feevia (askchoice
  235.             (prompt "I am sending the shareware fee via\n(Please mark as appropriate)")
  236.             (help @askchoice-help)
  237.  
  238.             (choices
  239.                 ("DM 10.- in bills")
  240.                 ("SFr 10.- in bills")
  241.                 ("US$ 10.- in bills")
  242.                 ("eurocheque in DM")
  243.                 ("foreign cheque (extra US$10 for cashing)")
  244.                 ("Bank transfer")
  245.             )
  246.         ))
  247.  
  248.         (textfile
  249.             (prompt "Generating OrderForm...")
  250.             (help @textfile-help)
  251.             (dest RegisterForm)
  252.             (append (cat
  253.                 "\n\n\n\n\n\n\n"
  254.                 "     ------------------------\n\n"
  255.                 "     Tobias Ferber\n"
  256.                 "     Goethestraße 32\n"
  257.                 "     76135 Karlsruhe\n\n"
  258.                 "     GERMANY\n\n"
  259.                 "     ------------------------\n\n\n"
  260.                 "     Dear Tobias, Dear Harald,\n\n"
  261.                 "     I would like to become a registered user of \"MirrorManager\"\n"
  262.                 "     to support further development of this application.\n"
  263.                 "     Please send me the disk containing the latest release to\n\n"
  264.                 ("     Name:     %s\n" RegisterName)
  265.                 ("     Address:  %s\n" RegisterAddress1)
  266.                 ("               %s\n" RegisterAddress2)
  267.                 ("               %s\n" RegisterAddress3)
  268.                 ("     Country:  %s\n" RegisterCountry)
  269.                 ("     Phone:    %s\n" RegisterPhone)
  270.                 ("     E-Mail:   %s\n\n" RegisterEMail)
  271.                 ("     I am sending the shareware fee via %s\n\n\n"
  272.                     (select feevia
  273.                         ("DM  10.- in bills,\n     coming with this letter.")
  274.                         ("SFr 10.- in bills,\n     coming with this letter.")
  275.                         ("US$ 10.- in bills,\n     coming with this letter.")
  276.                         ("eurocheque in DM,\n     coming with this letter.")
  277.                         ("foreign cheque in US$,\n     coming with this letter\n"
  278.                          "    (including extra $10 for cashing).")
  279.                         ("Bank transfer.")
  280.                     ))
  281.                 "     I have read the license and distribution details and agree.\n\n\n"
  282.                 "     _____________________  ___________________________________________\n"
  283.                 "            (Date)                           (Signature)\n"
  284.                 )
  285.  
  286.             )
  287.         )
  288.  
  289.         (message ("An order form has been written to\n%s\n" RegisterForm))
  290.         )
  291.         ;else
  292.             (registerNow)
  293.     )
  294. )
  295.  
  296.  
  297. ;***
  298. (set todo
  299.     (askoptions
  300.         (prompt
  301.             ("Select the parts of MirrorManager you want to install this time")
  302.         )
  303.  
  304.         (help
  305.             "This part of the installation procedure lets you select the "
  306.             "parts of the MirrorManager package you want to install at this time."
  307.             "\n\n"
  308.             "MirrorManager's GUI application, the MUI front end, is the "
  309.             "recommended host for the supplied ARexx script files."
  310.             "\n\n"
  311.             "The ARexx scripts are the heart of MirrorManager.  "
  312.             "They do all the work.  "
  313.             "All ARexx scripts needed by the GUI will be installed by "
  314.             "selecing the GUI."
  315.             "\n"
  316.             "The additional ARexx scripts and the C sources are available "
  317.             "in the registered version only!"
  318.             "\n"
  319.             "Click \"Proceed\" to select the icons to be installed."
  320.         )
  321.  
  322.         (choices
  323.             ;--- bit 0
  324.             ("MirrorManager MUI front end")
  325.  
  326.             ;--- bit 1
  327.             ("Guides, help and docs")
  328.  
  329.             ;--- bit 2
  330.             ("Additional ARexx scripts")
  331.  
  332.             ;--- bit 3
  333.             ("sources (C language)")
  334.  
  335.             ;--- bit 4
  336.             ("(ß-Tester) Extras")
  337.         )
  338.  
  339.         (default (if Registered 31 3))
  340.     )
  341. )
  342.  
  343. (complete 5)
  344.  
  345. ;Warn if we are about to install our GUI on a system without MUI...
  346. (if (and (in todo 0) (not (exists ("libs:muimaster.library") (noreq))) )
  347.  
  348.     (if (askbool
  349.  
  350.         (prompt
  351.             "The supplied MirrorManager GUI requires\n"
  352.             "MUI - MagicUserInterface\n"
  353.             "(c) Copyright 1993 by Stefan Stuntz\n"
  354.             "\n"
  355.             "I've not been able to locate muimaster.library on "
  356.             "your system.  "
  357.             "You definitely need MUI if you want to use MirrorManager "
  358.             "with the supplied GUI application.\n"
  359.                         "\n"
  360.             "Click `Help' for more information about MUI and how "
  361.             "to obtain it...\n"
  362.         )
  363.  
  364.         (choices "Skip GUI installation" "Install GUI now")
  365.  
  366.         (help
  367.             "MUI is a system to generate and maintain graphical user interfaces.  "
  368.             "With the aid of a preferences program, the user of an application has "
  369.             "the ability to customize the outfit according to his personal taste."
  370.             "\n\n"
  371.             "MUI is distributed as shareware.  "
  372.             "To obtain a complete package containing lots of examples and more "
  373.             "information about registration please look for a file called "
  374.             "\"muiXXusr.lha\" (XX means the latest version number) "
  375.             "on your local bulletin boards or on public domain disks."
  376.             "\n\n"
  377.             "If you want to register directly, feel free to send\n"
  378.             "\n"
  379.             "               DM 20.-  or  US$ 15.-\n"
  380.             "\n"
  381.             "                        to\n"
  382.             "\n"
  383.             "                   Stefan Stuntz\n"
  384.             "              Eduard-Spranger-Straße 7\n"
  385.             "                   80935 München\n"
  386.             "                      GERMANY\n"
  387.         )
  388.     ) (set todo (- todo 1)) )
  389.  
  390.     (if (= @user-level 2) ;<-- expert user having MUI
  391.  
  392.         (set vernum (getversion "libs:muimaster.library"))
  393.         (set ver (/ vernum 65536))
  394.                 (set rev (- vernum (* ver 65536) ))
  395.  
  396.         (message
  397.             "Installing the MirrorManager GUI for\n"
  398.             ("muimaster.library version %ld.%ld" ver rev)
  399.         )
  400.     )
  401. )
  402.  
  403. (set icontype
  404.     (askchoice
  405.         (prompt
  406.             "Select the type of icons to be installed for MirrorManager."
  407.         )
  408.  
  409.         (help
  410.             "MirrorManager can be executed from the Workbench "
  411.             "by double-clicking the icon images.\n"
  412.             "\n"
  413.             "The 4 color icons can be used on every system.  "
  414.             "They only use the first 4 colors of the system palette which are "
  415.             "initially set to black, white, blue and the background color grey "
  416.             "by Commodore.\n"
  417.             "\n"
  418.             "MagicWB is a SHAREWARE product by Martin Huttenloher which "
  419.             "uses 4 additional colors.  It includes a replacement icon for "
  420.             "nearly all of the Commodore icons, amazing background patterns "
  421.             "and loads of additional icons and brushes for nearly all sorts "
  422.             "of applications.\n"
  423.             "\n"
  424.             "Friends of an impressive and plastic Workbench should definitely take "
  425.             "a closer look at is MagicWB package which can be obtained from\n"
  426.             "\n"
  427.             "                 Martin Huttenloher\n"
  428.             "                 Am Hocksträss 4\n"
  429.             "                 D89081 Ulm\n"
  430.             "                 Germany/Europe"
  431.         )
  432.  
  433.         (choices
  434.             ("4 color Commodore Workbench icons")
  435.             ("8 color MagicWB icons (8 planes)")
  436.             ("No (new) icons")
  437.         )
  438.  
  439.         (default 0)  ;MagicWB icons
  440.     )
  441. )
  442.  
  443. (if (< icontype 2) (set IconPath (tackon IconPath (if (= icontype 0) "4" "8"))) )
  444.  
  445. (complete 10)
  446.  
  447. ;+++
  448. ;(message ("Icon type is %ld (%s)" icontype IconPath))
  449. ;+++
  450.  
  451. (set @default-dest
  452.     (askdir
  453.         (prompt
  454.             "Where shall I install MirrorManager to?\n"
  455.             "A directory \"MirrorManager\" will be created..."
  456.         )
  457.         (help @askdir-help)
  458.         (default @default-dest)
  459.         )
  460. )
  461.  
  462. (complete 20)
  463.  
  464. (set @default-dest (tackon @default-dest ApplicationPath))
  465.  
  466. (if (set InitialInstallment (exists @default-dest))
  467.     (message (cat
  468.         ("The directory \"%s\" already exists." @default-dest)
  469.         "\n"
  470.         "Proceeding might replace existing files..."
  471.         "\n\n"
  472.                 "However your current settings in the configuration script MirrorManager.rexx will NOT be replaced.  "
  473.     ))
  474.  
  475. ;else
  476.     (makedir @default-dest
  477.         (prompt ("Creating directory %s" @default-dest) )
  478.         (help @makedir-help)
  479.         (infos)
  480.     )
  481. )
  482.  
  483. (complete 30)
  484.  
  485. (working "Installing top level stuff...")
  486.  
  487. (copyfiles
  488.     (source   "")
  489.     (dest     @default-dest)
  490.     (pattern  "(Unstall-MirrorManager|ReadMe)")
  491.     (prompt   "Copying top level stuff...")
  492.     (help     @copyfiles-help)
  493.     (confirm)
  494. )
  495.  
  496.  
  497. (complete 40)
  498.  
  499. (if (in todo 0)
  500. (
  501.     (working "Installing the MUI front end...")
  502.  
  503.     (copyfiles
  504.         (source   "MirrorManager")
  505.         (dest     @default-dest)
  506.         (prompt   "Copying the MUI front end...")
  507.         (help     @copyfiles-help)
  508.         (confirm)
  509.     )
  510.  
  511.     (working "Installing catalog files...")
  512.  
  513.     (copyfiles
  514.         (source   CatalogsPath)
  515.         (dest     (tackon @default-dest CatalogsPath))
  516.         (all)
  517.         (prompt   "Copying catalog files...")
  518.         (help     @copyfiles-help)
  519.         (confirm  "average")
  520.     )
  521.  
  522.     (working "Installing ARexx scripts...")
  523.  
  524.     (copyfiles
  525.         (source   ARexxScriptsPath)
  526.         (dest     (tackon @default-dest ARexxScriptsPath))
  527.         (files)
  528.         (pattern  "~(MirrorManager.rexx)")
  529.         (prompt   "Copying ARexx scripts...")
  530.         (help     @copyfiles-help)
  531.         (confirm)
  532.     )
  533.  
  534.     (if (exists (tackon (tackon @default-dest ArexxScriptsPath) "MirrorManager.rexx"))
  535.         (copyfiles
  536.             (prompt   "Copying MirrorManager.rexx...")
  537.             (help     @copyfiles-help)
  538.             (source   (tackon ARexxScriptsPath "MirrorManager.rexx"))
  539.             (dest     (tackon @default-dest ARexxScriptsPath))
  540.             (newname
  541.                 (askfile
  542.                     (prompt "Choose a different name for the new configuration...")
  543.                     (help
  544.                         "MirrorManager.rexx (your default configuration file) already exists.  "
  545.                         "Overwriting it will destroy your current settings including your "
  546.                         "path and filename definitions.  "
  547.                     )
  548.                     (default (tackon (tackon @default-dest ARexxScriptsPath) "MirrorManager.rexx.NEW"))
  549.                 )
  550.             )
  551.         )
  552.     ;else
  553.         (copyfiles
  554.             (source   (tackon ARexxScriptsPath "MirrorManager.rexx"))
  555.             (dest     (tackon @default-dest ARexxScriptsPath))
  556.             (prompt   "Copying MirrorManager.rexx...")
  557.             (help     @copyfiles-help)
  558.             (confirm)
  559.         )
  560.  
  561.     )
  562. ))
  563.  
  564. (complete 50)
  565.  
  566. (if (in todo 1)
  567. (
  568.     (working "Installing Help and manual files...")
  569.  
  570.     (copyfiles
  571.         (source   HelpPath)
  572.         (all)
  573.         (dest     (tackon @default-dest HelpPath))
  574.         (prompt   "Copying Help and document files...")
  575.         (help     @copyfiles-help)
  576.         (confirm)
  577.     )
  578. ))
  579.  
  580. (complete 60)
  581.  
  582. (if (in todo 2)
  583. (
  584.     (working "Installing additional ARexx script files...")
  585.  
  586.     (if Registered
  587.         (set xtras (askoptions
  588.             (prompt
  589.                 ("Select the additional ARexx scripts you want to install this time")
  590.             )
  591.             (help @askoptions-help)
  592.  
  593.             (choices
  594.                 ;--- bit 0
  595.                 ("Shell")
  596.  
  597.                 ;--- bit 1
  598.                 ("Term 3.4")
  599.  
  600.                 ;--- bit 2
  601.                 ("FastCall")
  602.             )
  603.         ))
  604.     ;else
  605.         (set xtras 1)   ;Shell
  606.     )
  607.  
  608.     (if (in xtras 0)
  609.     (
  610.         (working "Installing Shell ARexx scripts...")
  611.  
  612.         (copyfiles
  613.             (source   ARexxShellPath)
  614.             (all)
  615.             ;(dest     "REXX:")
  616.             (dest     (tackon @default-dest ARexxShellPath))
  617.             (prompt   "Copying Shell ARexx script files...")
  618.             (help     @copyfiles-help)
  619.             (confirm "average")
  620.         )
  621.     ))
  622.  
  623.         (if (in xtras 1)
  624.         (
  625.         (working "Installing Term ARexx scripts...")
  626.  
  627.         (copyfiles
  628.             (source   ARexxTermPath)
  629.             (all)
  630.             (dest     (tackon @default-dest ARexxTermPath))
  631.             (prompt   "Copying Term ARexx script files...")
  632.             (help     @copyfiles-help)
  633.             (confirm "average")
  634.                 )
  635.     ))
  636.  
  637.         (if (in xtras 2)
  638.         (
  639.         (working "Installing FastCall ARexx scripts...")
  640.  
  641.         (copyfiles
  642.             (source   ARexxFastCallPath)
  643.             (all)
  644.             (dest     (tackon @default-dest ARexxFastCallPath))
  645.             (prompt   "Copying FastCall ARexx script files...")
  646.             (help     @copyfiles-help)
  647.             (confirm "average")
  648.                 )
  649.     ))
  650. ))
  651.  
  652. (complete 70)
  653.  
  654. (if (in todo 3)
  655. (
  656.     (if Registered
  657.     (
  658.         (working "Installing C source code and Makefiles...")
  659.  
  660.         (copyfiles
  661.             (source   SourcesPath)
  662.             (all)
  663.             (dest     (tackon @default-dest SourcesPath))
  664.             (prompt   "Copying C source code and Makefiles...")
  665.             (help     @copyfiles-help)
  666.             (confirm)
  667.         )
  668.     )
  669. ;else
  670.     (if (askbool
  671.         (prompt
  672.             ("MirrorManager v%s ist shareware\n" VersionNumber)
  673.             "This is an unregistered demo version\n"
  674.             "\n"
  675.             "You should register if you like MirrorManager "
  676.             "to support further development."
  677.         )
  678.         (help "Click \"Register Now\" and you will see ...")
  679.         (choices "Register Now" "Skip This Part")
  680.     )
  681.         (registerNow)
  682.     ;else
  683.         (message ("Hmmm... You really should register!"))
  684.     )
  685.  
  686. )
  687. ))
  688.  
  689. (complete 80)
  690.  
  691. (if (in todo 4)
  692. (
  693.     (working "Installing BETA-TESTER extras...")
  694.  
  695.     (copyfiles
  696.         (source   ExtrasPath)
  697.         (all)
  698.         (dest     (tackon @default-dest ExtrasPath))
  699.         (prompt   "Copying BETA-TESTER extras...")
  700.         (help     @copyfiles-help)
  701.         (confirm)
  702.     )
  703. ))
  704.  
  705. (complete 85)
  706.  
  707. (if (< icontype 2)
  708. (
  709.     (working "Installing icon images ...")
  710.     (set copyIconsFrom IconPath) (copyIcons)
  711.  
  712.     (complete 87)
  713.     (working "Installing additional icon images ...")  ; I.e. icons without files behind them
  714.  
  715.     (set n 0)
  716.     (while (set fname (select n "xtras/def_mm.info"          ;default project icon image
  717.                                 "xtras/MirrorManager1.info"
  718.                                 "xtras/MirrorManager2.info"
  719.                                 ""))
  720.     (
  721.         (set n (+ n 1))
  722.                 (if (exists (tackon IconPath fname))
  723.                 (
  724.             (copyfiles
  725.                 (source   (tackon IconPath fname))
  726.                 (dest     (tackon @default-dest "xtras"))
  727.                 (prompt   ("Copying icon image `%s' ..." fname))
  728.                 (help     @copyfiles-help)
  729.                 ;(confirm)
  730.                         )
  731.                 ))
  732.     ))
  733.  
  734.     (complete 89)
  735.  
  736.     (copyfiles
  737.         (source   ("%s.info" IconPath))
  738.         (dest     (pathonly @default-dest))
  739.         (newname  ("%s.info" @default-dest))
  740.         (prompt   ("Copying drawer icon image for %s..." @default-dest))
  741.         (help     @copyfiles-help)
  742.         ;(confirm)
  743.     )
  744. ))
  745.  
  746. (complete 90)
  747.  
  748. (if (AND
  749.     (exists (tackon @default-dest "xtras/def_mm.info"))
  750.     (exists (tackon @default-dest "MirrorManager.info")))
  751. (
  752.     (set project-icon-tooltype
  753.         (askchoice
  754.             (prompt "Set up the default tool for MirrorManager's configuration project icon.")
  755.             (help (cat
  756.                 "MirrorManager can save project icons with the configuration.  "
  757.                 "If you want MirrorManager to do so, you might want to set up "
  758.                 "the supplied `def_mm.info' project icon."
  759.                 "\n\n"
  760.                 "RELATIVE PATHNAMES\n\n"
  761.                 "You will usually save your configuration files into the MirrorManager/rexx "
  762.                 "drawer, so the default tool for your configuration would be the MirrorManager "
  763.                 "tool in the parent directory."
  764.                 "\n"
  765.                 "Relative pathnames have the advantage that the MirrorManager drawer "
  766.                 "can still be moved to any location on your hard drive without changing "
  767.                 "the default tool in all the project icons."
  768.                 "\n\n"
  769.                 "ABSOLUTE PATHNAMES\n\n"
  770.                 "Using absolute pathnames in the project icon allows you to store your "
  771.                 "configuration scripts to any location.  "
  772.                 "However, when moving the MirrorManager drawer you'll have to adjust "
  773.                 "the default tool's pathname in all project icons."
  774.             ))
  775.  
  776.             (choices
  777.                 ("No project icon")        ;0
  778.                 ("Smart relative pathname")    ;1
  779.                 ("Custom (absolute) pathname")    ;2
  780.             )
  781.  
  782.             (default 0)
  783.         )
  784.     )
  785.  
  786.     (if (> project-icon-tooltype 0)
  787.         (
  788.         (tooltype
  789.             (dest        (tackon @default-dest "MirrorManager"))
  790.             (prompt      "Modifying MirrorManager CONFIGICON ToolType...")
  791.             (help        @tooltype-help)
  792.             ;(setstack    10240)
  793.             (settooltype "CONFIGICON" "xtras/def_mm.info")
  794.         )
  795.  
  796.         ;by default: smart pathnames -> modify the tooltype only if they want a custom pathnames
  797.             (if (> project-icon-tooltype 1)
  798.             (
  799.             (tooltype
  800.                 (dest        (tackon @default-dest "MirrorManager"))
  801.                 (prompt      "Modifying MirrorManager APPSTART ToolType...")
  802.                 (help        @tooltype-help)
  803.                 ;(setstack    10240)
  804.  
  805.                 (settooltype "APPSTART" (askfile
  806.                     (prompt "Select the default tool for the MirrorManager project icon...")
  807.                     (help   @askfile-help)
  808.                     (default (tackon @default-dest "MirrorManager"))
  809.                 ))
  810.             )
  811.         ))
  812.     ))
  813. ))
  814.  
  815. (complete 100)
  816.  
  817. (if (AND
  818.     (exists (tackon @default-dest "rexx/MirrorManager.rexx"))
  819.     (exists (tackon @default-dest "rexx/Configure.rexx")) )
  820.  
  821.     (exit
  822.         "You should configure your MirrorManager GUI application now.  "
  823.         "Configuring can be done by double-clicking the Configure icon in the "
  824.         "MirrorManager/rexx drawer.  "
  825.         "This will modify the supplied ARexx script rexx/MirrorManager.rexx "
  826.         "for your personal installation."
  827.     )
  828. )
  829.